1. Technical Field
The invention relates to the field of application integration, and more particularly, to the generation of application interfaces which support standard and user defined application data objects.
2. Description of the Related Art
When interfacing two or more applications, many different problems can arise. This is especially true in the case where disparate enterprise resource planning (ERP) systems are interfaced through a middleware system. Importantly, both data issues and application programming interface (API) issues must be resolved before the applications can interact effectively. Oftentimes, API issues arise because ERP system interfaces can be customized to such a large extent to suit the particular business needs of each customer. In addition to API modifications, the underlying data model of many ERP systems also can be modified to suit a customer's specific requirements. Such is the case, for example, with the Ariba™ Buyer procurement application which is part of a comprehensive business-to-business platform available from Ariba, Inc. of Sunnyvale, Calif. Because the Ariba Buyer data model can be modified to meet each customer's specific requirements, the interfaces and associated meta data objects describing those interfaces also are unique.
Further complicating the issue, is that some ERP systems require additional data to properly interface with other applications. For example, if the ERP system is to interface with an accounting application, a data structure referred to as a variant can be defined within the ERP system for storing information which is specific to the accounting application. The accounting variant can hold information that is pertinent to the ERP system, as well as certain information that is specific to the accounting application to be interfaced with the ERP system. The inclusion of such information within an ERP system leads to further customization of the underlying data model and APIs.
Because of the high degree of API and data model customization within ERP systems and applications, developers have turned away from developing a standard integration interface capable of meeting each customer's needs. Instead, developers have embraced several different techniques for interfacing ERP systems and/or applications to messaging middleware. One technique frequently relied upon by developers has been the development of custom coded solutions. Conventional custom coded solutions, however, frequently do not allow for future customization or enhancements to the ERP system without creating new custom code. In consequence, accommodating for customer modifications and variants can be problematic when implementing a custom interface solution.
Another technique for developing integration interfaces has been to capture application meta data in a database repository. As is known to those skilled in the art, meta data can provide a description of an interface to an application, in this case an ERP system interface object. One benefit of the database technique is that all of the ERP system meta data is contained within a central repository. Still, the database technique does have disadvantages. In particular, the use of a database introduces another potential point of failure into a system. Another disadvantage of the database technique is that the overall runtime performance of a system can be decreased due to the frequent calls to the database to access the ERP system meta data necessary for processing events. Finally, the customer needs specific knowledge of the application interface which may require the employment of specialized information technology personnel.